<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        /**
         * 1.集合set set：set数据里的值不能重复，是对象的键名
         * 可以是任意类型
         * set 方法
         *      - size(set属性) 统计set长度
         *      - add() 增添键值
         *      - delete() 删除指定元素
         *      - clear() 清除（删除所有元素）
         *      - keys() 获取每一项 for (... of ...){} 或者 解构[...keys],在遍历
         *      - values() keys 是 values 的一个别名,两者取到的值是一样的
         *      - has() 是否有该属性
         */     
        // 创建set
        let set = new Set();
        set.add(12);
        set.add(12);
        set.add(13);
        set.add(45);
        set.add(56);
        console.log(set);

        let set1 = new Set([23, 45, 67, 90, {name: '张三'}]);
        console.log(set1);

        // 方法
        console.log(set1.size);
        // set1.delete(45);
        // console.log(set1[0]);//undefined set[0]取不到值
        // set1.clear();
        console.log(set1);

        console.log(set1.keys());
        console.log(set1.values());
        console.log(set1.has(45));

        // 数组去重
        // let arr = [1, 2, 2, 4, 6, 6, 7, 8];
        // let set2 = new Set(arr);
        // let res = Array.from(set2);
        // let res1 = [...set2];
        // console.log(res, res1);// 一致的结果

        // 字符串去重
        let str = 'addhjkgggjj';
        let arr1 = [...str];
        let arr2 = str.split('');
        let set3 = new Set(arr1);
        let res = [...set3];
        let res1 = res.join('');
        console.log(res1); //adhjkg
        console.log(arr1, arr2);

        
    </script>
</body>
</html>